package jmir.oscar.panell;
import jmir.oscar.panell.figures.*;

public class PanelFigures {
	
	final Figura2D figures[];
	
	//Constructor en el que li donem la mida de l'array del panell
	public PanelFigures(int i) {
		figures = new Figura2D[i];
	}	
	

	public void setFiguraAt(Figura2D figura, int i) {
		//Controlant l'array figures abans d'asignar
		if(i >= 0 && i < figures.length){
			figures[i] = figura;
		}
	}
	
	public double calculaSuperficieTotal(Color colorFondo, Color colorBorde) {
		double superficie_total = 0;
        int i = 0;
       
        while(i < figures.length) {
            if(figures[i] != null && colorFondo==figures[i].getColorFondo() && colorBorde==figures[i].getColorBorde()){
            	superficie_total+=figures[i].calculaSuperficie();
            }
            ++i;
        }
        return superficie_total;	
	}


	public int getNombreFigures() {
		int nombreFigures;
		nombreFigures = figures.length;
		return nombreFigures;
	}


	public Figura2D getFiguraAt(int i) {
		//Controlant l'array figures abans d'asignar
		Figura2D fa = null;
		if(i >= 0 && i < figures.length){
			fa = figures[i];
		}
		return fa;
	}


	public double calculaSuperficieTotal(Color color) {
		double superficie_total = 0;
        int i = 0;
       
        while(i < figures.length) {
            if(figures[i] != null && color==figures[i].getColorFondo()){
            	superficie_total+=figures[i].calculaSuperficie();
            }
            ++i;
        }
        return superficie_total;	
	}
	
	public double calculaSuperficieTotal() {
		double superficie_total = 0;
        int i = 0;
       
        while(i < figures.length) {
            if(figures[i] != null){
            	superficie_total+=figures[i].calculaSuperficie();
            }
            ++i;
        }
        return superficie_total;	
	}


	
}
